package com.xuebank.nfe.nfecar.model

import android.os.Parcel
import android.os.Parcelable

/**
 * Created by admin Mr.WANG 2019/1/2.
 */
class ShopList(val endRow :Int,//尾端
               val firstPage:Int,//第一页
               val hasNextPage:Boolean,//有下一页
               val hasPreviousPage:Boolean,//有上一页？
               val isFirstPage:Boolean,//是第一页？
               val isLastPage:Boolean,//是最后一页？
               val lastPage:Int,//最后一页
               val list:ArrayList<ListShop> ,
               val navigatePages:Int,//导航页
               val navigatepageNums:List<String>,
               val nextPage:Int,//下一页
               val orderBy:String,//有序的
               val pageNum:Int,
               val pageSize:Int,
               val pages:Int,
               val prePage:Int,
               val size:Int,
               val startRow:Int,
               val total:Int
               ):Parcelable{
    constructor(parcel: Parcel) : this(
            parcel.readInt(),
            parcel.readInt(),
            parcel.readByte() != 0.toByte(),
            parcel.readByte() != 0.toByte(),
            parcel.readByte() != 0.toByte(),
            parcel.readByte() != 0.toByte(),
            parcel.readInt(),
            TODO("list"),
            parcel.readInt(),
            parcel.createStringArrayList(),
            parcel.readInt(),
            parcel.readString(),
            parcel.readInt(),
            parcel.readInt(),
            parcel.readInt(),
            parcel.readInt(),
            parcel.readInt(),
            parcel.readInt(),
            parcel.readInt()) {
    }

    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeInt(endRow)
        parcel.writeInt(firstPage)
        parcel.writeByte(if (hasNextPage) 1 else 0)
        parcel.writeByte(if (hasPreviousPage) 1 else 0)
        parcel.writeByte(if (isFirstPage) 1 else 0)
        parcel.writeByte(if (isLastPage) 1 else 0)
        parcel.writeInt(lastPage)
        parcel.writeInt(navigatePages)
        parcel.writeStringList(navigatepageNums)
        parcel.writeInt(nextPage)
        parcel.writeString(orderBy)
        parcel.writeInt(pageNum)
        parcel.writeInt(pageSize)
        parcel.writeInt(pages)
        parcel.writeInt(prePage)
        parcel.writeInt(size)
        parcel.writeInt(startRow)
        parcel.writeInt(total)
    }

    override fun describeContents(): Int {
        return 0
    }

    companion object CREATOR : Parcelable.Creator<ShopList> {
        override fun createFromParcel(parcel: Parcel): ShopList {
            return ShopList(parcel)
        }

        override fun newArray(size: Int): Array<ShopList?> {
            return arrayOfNulls(size)
        }
    }
}